package com.yf.exam.modules.trainingarchives.trainingclassinfo.dto.req;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * 一期一档基础信息表
 * </p>
 *
 * @author author
 * @since 2024-12-29
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class TrainingClassInfoReqDTO implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "培训班信息ID")
    private String id;

    @ApiModelProperty(value = "培训单位 (外键: 机构表)")
    private String organizationId;

    @ApiModelProperty(value = "培训单位名称")
    private String organizationName;

    @ApiModelProperty(value = "地址")
    private String address;

    @ApiModelProperty(value = "培训班名称")
    private String className;

    @ApiModelProperty(value = "培训对象")
    private String targetStudents;

    @ApiModelProperty(value = "计划人数")
    private Integer plannedNumber;

    @ApiModelProperty(value = "培训方式")
    private String trainingMode;

    @ApiModelProperty(value = "培训类型")
    private String trainingType;

    @ApiModelProperty(value = "培训开始日期")
    private LocalDateTime trainingStartDate;

    @ApiModelProperty(value = "培训结束日期")
    private LocalDateTime trainingEndDate;

    @ApiModelProperty(value = "培训地点")
    private String trainingLocation;

    @ApiModelProperty(value = "班主任姓名")
    private String headTeacherName;

    @ApiModelProperty(value = "班主任性别")
    private String headTeacherGender;

    @ApiModelProperty(value = "班主任照片")
    private String headTeacherPhoto;

    @ApiModelProperty(value = "班主任电话")
    private String headTeacherPhone;

    @ApiModelProperty(value = "班主任邮箱或微信")
    private String headTeacherContact;

    @ApiModelProperty(value = "审核人意见")
    private String auditorOpinion;

    @ApiModelProperty(value = "审核时间")
    private LocalDateTime auditTime;

    @ApiModelProperty(value = "审核人签字 (支持图片上传)")
    private String auditorSignature;

    @ApiModelProperty(value = "批准人意见")
    private String approverOpinion;

    @ApiModelProperty(value = "批准时间")
    private LocalDateTime approvalTime;

    @ApiModelProperty(value = "批准人签字 (支持图片上传)")
    private String approverSignature;

    @ApiModelProperty(value = "导出状态")
    private String exportStatus;

    @ApiModelProperty(value = "工种类型id")
    private String workTypeId;

}
